#正则表达式的练习题
import re
#字符相关  []  [^abc] [a-z]  .   \w  \d \s
# text="楼主太厉害了，在线想要 44265625@qq.com和xxxx@live.com谢谢楼主，手机号也可以是1512535269和1444812539"
# phone_list=re.findall("楼主",text)
# print(phone_list)
# data_list=re.findall("[abc]",text)
# print(data_list)

#数字相关的   *  +  ？  {n} {n,} {n,m}

#括号相关的 （）  （|）


#按照实际情况来进一步调整
#1、利用正则表达式匹配QQ号码
# data="QQ号码是：334654978和899652335，年龄19岁"
# print(re.findall('[1-9]\d{4,}',data))
#2、身份证号码
# \d{17}[\dx]
# data="身份证是：610428200601230012和6120591995061500xy,年龄分别：23和18岁"
# print(re.findall('\d{17}[\dx]',data))#这种只支持单字符的或者
# print(re.findall('(\d{16}(\d+|xy))',data))
#3、手机号码
# 1[1-9]\d{9}
#4、提取邮箱
# \w+@\w+\.\w+ (不合适) 若想不匹配到中文就在re.findall中加一个参数，re.ASCII
#[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+
# (\w+([-+\.]\w+)*@\w+([-\.]\w+)*\.\w+([-\.]\w+)*)

#补充：起始和结束
# ^ $
text =input('输入邮箱:')
mail=re.findall("^\w+@\w+.\w+$",text,re.ASCII)
if not mail:
    print("输入的格式错误")
else:
    print(mail)

#特殊字符：* .  () {}